1
ความจำเป็นในการใช้รัสต์ที่ไม่ปลอดภัย
AI034Lesson 19
00:00

ภาษาที่ซ่อนอยู่ภายใน

รัสต์มีความลับหนึ่งคือ มันแท้จริงแล้ว สองภาษาในหนึ่งเดียว. ขณะที่รัสต์แบบปลอดภัยเป็นผู้คุ้มครองคุณ ตัวคอมไพล์รัสต์นั้นโดยพื้นฐานแล้ว ระมัดระวัง. มันปฏิบัติตามปรัชญาที่เข้มงวด: ดีกว่าที่จะปฏิเสธโปรแกรมที่ถูกต้องและปลอดภัย มากกว่าที่จะพลาดอนุญาตให้โปรแกรมอันตรายเพียงรายการเดียว ซึ่งสร้างช่องว่างระหว่างสิ่งที่ฮาร์ดแวร์สามารถทำได้ กับสิ่งที่คอมไพล์รัสต์สามารถพิสูจน์ได้

ความจริงอันเข้มงวด

ลองจินตนาการว่าตัวคอมไพล์เป็นผู้คุมประตูที่เข้มงวด ในตัวอย่างโค้ดของเรา คำสั่งควบคุมการจับคู่ if y ใช้กับกลุ่มรูปแบบทั้งหมด (4 | 5 | 6). การกำหนดลำดับความสำคัญที่เข้มงวดนี้ ลำดับความสำคัญ สะท้อนการทำงานของตัวตรวจสอบการยืม; มันใช้กฎทั่วโลกที่ไม่ยอมใครง่ายๆ กับหน่วยความจำของคุณ แต่ฮาร์ดแวร์คอมพิวเตอร์ที่อยู่เบื้องหลังนั้น เป็นอันตรายอยู่ในตัวเอง; มันไม่เข้าใจเรื่องการเป็นเจ้าของหรืออายุการใช้งาน ในการสร้างเครื่องมือประสิทธิภาพสูงเช่น split_at_mut, เราจำเป็นต้องก้าวเข้าสู่ รัสต์ที่ไม่ปลอดภัย 'ทางออก' เพื่อทำการดำเนินการที่มีเหตุผลทางเทคนิค แต่เชิงตรรกะซับซ้อนเกินไปสำหรับการวิเคราะห์สถิติของตัวคอมไพล์

โค้ดที่ปลอดภัยทางเทคนิคทั้งหมดพิสูจน์แล้วว่าปลอดภัย (ตัวตรวจสอบการยืม)ความจำเป็นในการใช้ไม่ปลอดภัย

ช่องว่างระหว่างวงกลมสีแดงและสีเขียวนั้นคือที่ที่รัสต์ที่ไม่ปลอดภัยอาศัยอยู่ — ซึ่งช่วยให้เราสามารถใช้ศักยภาพสูงสุดของฮาร์ดแวร์ได้เมื่อการวิเคราะห์สถิติล้มเหลว

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>